// pages/history/history.js
const fetchSev = require('../../utils/util.js').fetchSev;
const orderListUrl = require('../../config.js').orderListUrl;

const app = getApp();

Page({

  /**
   * 页面的初始数据
   */
  data: {
    orderList: [],   // 订单列表
    filterPicker: [
      { name: '一个月内', value: '1' }, { name: '三个月内', value: '3' }, 
      { name: '半年内', value: '6' }, { name: '一年内', value: '12' }
    ],
    pickerIndex: 0,
    filter: {
      unit: '月',
      number: '1',
      page: 1,
      pagesize: 30
    }
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
  
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
  
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    // 初始化
    this.setData({orderList: []});

    this._getOrderList();
  },

  // 获取订单列表
  _getOrderList: function() {
    wx.showLoading({
      title: '加载中',
    });
    // 筛选条件
    const filter = this.data.filter;
    console.log('查询参数', filter);
    fetchSev(orderListUrl, 'GET', filter, function(res) {
      const resArr = res.data || [];
      console.log(`订单列表`, res);
      let arr = this.data.orderList;
      // 把结果追加到orderList中
      for(let i=0; i<resArr.length; i++) {
        arr.push(resArr[i]);
      }
      this.setData({orderList: arr});
      wx.hideLoading();
      console.log('订单列表', this.data.orderList);
    }.bind(this));
  },

  // 更新filter条件
  _updateFilter: function(k, v) {
    let filter = this.data.filter;
    filter[k] = v;
    this.setData({filter, filter});
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
  
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
  
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
  
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
  
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
  
  },

  // picker筛选
  _pickerChange: function(e) {
    this.setData({orderList: []});
    const idx = e.detail.value;
    const number = this.data.filterPicker[idx].value;
    // 更新picker显示
    this.setData({ pickerIndex: idx });
    // 更新filter
    this._updateFilter('number', number);
    console.log('filter', this.data.filter);
    // 重新搜索
    this._getOrderList();
  },


  // 查看订单详情
  _skipToDetail: function(e) {
    const curHistoryOrder = e.currentTarget.dataset.item;
    // 当前一个历史订单
    app.globalData.curHistoryOrder = curHistoryOrder;
    wx.navigateTo({
      url: '../hisDetail/hisDetail',
    });
  },
})